package com.prd.dto;


import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

/**
 *
 * @author lizhaoyi
 * @since 2023-10-03
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("出勤打卡对象")
public class AttendanceDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty("上班打卡地点")
    private String clockInAddress;

    @ApiModelProperty("下班打卡地点")
    private String clockOutAddress;

    /**
     * 打卡类型: 0-出勤打卡,1-外勤打卡,2-加班打卡
     */
    @ApiModelProperty("打卡类型: 0-出勤打卡,1-外勤打卡,2-加班打卡")
    private Integer clockType;

    /**
     * 上班打卡时间
     */
    @ApiModelProperty("上班打卡时间")
    private LocalTime clockIn;

    /**
     * 下班打卡时间
     */
    @ApiModelProperty("下班打卡时间")
    private LocalTime clockOut;

    /**
     * 考勤日期
     */
    @ApiModelProperty("考勤日期")
    private LocalDate clockDate;

    /**
     * 上班状态: 0-正常,1-迟到,2-早退
     */
    @ApiModelProperty("状态: 0-正常,1-迟到,2-早退")
    private Integer clockInStatus;

    /**
     * 下班状态: 0-正常,1-迟到,2-早退
     */
    @ApiModelProperty("状态: 0-正常,1-迟到,2-早退")
    private Integer clockOutStatus;

    /**
     * 班次类型: 0-日班,1-夜班
     */
    @ApiModelProperty("班次类型: 0-日班,1-夜班")
    private Integer workType;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Long userId;

    /**
     * 用户名称
     */
    @ApiModelProperty("用户名称")
    private String userName;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remakes;

    /**
     * 上传图片路径
     */
    @ApiModelProperty("上传图片路径")
    private String imgUrl;

    /**
     * 上传图片路径数组
     */
    @ApiModelProperty("上传图片路径数组")
    private List<String> imgUrlList;



}
